package gui.dados.funcionario;

import gui.negocio.TelaLogin;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

import negocio.cliente.Validar;

public class TelaAlterarDono extends JFrame {
	
	private JButton btAlterar;
	private JTextField txtNome, txtEmail, txtTelefone, txtRua, txtNumero, txtBairro, txtCidade;
	private JPasswordField txtSenha, txtConfirmarSenha;
	private String login;
	
	
	public TelaAlterarDono(String titulo, int largura, int altura){
		super(titulo);
		this.setBounds(0, 0, largura, altura);
		setResizable(false);
		setDefaultCloseOperation(DISPOSE_ON_CLOSE);
		configurarTela();
		setVisible(true);
		
	}

	private void configurarTela() {
		
		btAlterar = new JButton("Alterar");
		
		txtNome = new JTextField();
		txtEmail = new JTextField();
		txtSenha = new JPasswordField();
		txtConfirmarSenha = new JPasswordField();
		txtTelefone = new JTextField();
		txtRua = new JTextField();
		txtNumero = new JTextField();
		txtBairro = new JTextField();
		txtBairro = new JTextField();
		txtCidade = new JTextField();
		
		BorderLayout bl = new BorderLayout();
		setLayout(bl);
		
		JPanel painelSuperior = new JPanel();
		JPanel painelCentro = new JPanel();
		JPanel painelInferior = new JPanel();
		
		painelSuperior.setBackground(Color.red);
		painelCentro.setBackground(Color.white);
		painelInferior.setBackground(Color.red);
		
		add(painelSuperior, BorderLayout.NORTH);
		add(painelCentro, BorderLayout.CENTER);
		add(painelInferior, BorderLayout.SOUTH);
		
		painelSuperior.add(btAlterar);
		
		painelCentro.setLayout(new GridLayout(9,2));
		painelCentro.add(new JLabel("Novo nome: "));
		painelCentro.add(txtNome);
		painelCentro.add(new JLabel("Nova senha: "));
		painelCentro.add(txtSenha);
		painelCentro.add(new JLabel("Confirmar nova senha: "));
		painelCentro.add(txtConfirmarSenha);
		painelCentro.add(new JLabel("Novo e-mail: "));
		painelCentro.add(txtEmail);
		painelCentro.add(new JLabel("Novo telefone: "));
		painelCentro.add(txtTelefone);
		painelCentro.add(new JLabel("Nova rua: "));
		painelCentro.add(txtRua);
		painelCentro.add(new JLabel("Novo n�mero: "));
		painelCentro.add(txtNumero);
		painelCentro.add(new JLabel("Novo bairro: "));
		painelCentro.add(txtBairro);
		painelCentro.add(new JLabel("Nova cidade: "));
		painelCentro.add(txtCidade);
		
		login = TelaLogin.funcionario.getLogin();
		
		try {
			txtNome.setText(TelaCadastrarGerente.cdf.recuperarFuncionario(login).getNome());
			txtSenha.setText(TelaCadastrarGerente.cdf.recuperarFuncionario(login).getSenha());
			txtEmail.setText(TelaCadastrarGerente.cdf.recuperarFuncionario(login).getEmail());
			txtTelefone.setText(TelaCadastrarGerente.cdf.recuperarFuncionario(login).getTelefoneCelular());
			txtRua.setText(TelaCadastrarGerente.cdf.recuperarFuncionario(login).getRua());
			txtNumero.setText(TelaCadastrarGerente.cdf.recuperarFuncionario(login).getNumero());
			txtBairro.setText(TelaCadastrarGerente.cdf.recuperarFuncionario(login).getBairro());
			txtCidade.setText(TelaCadastrarGerente.cdf.recuperarFuncionario(login).getCidade());
			
		} catch (Exception e) {
			// TODO: handle exception
		}
		
		
		btAlterar.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent arg0) {
				Validar validar = new Validar();
				
				String newSenha ="", confirmarNewSenha ="";
				
				for(int i=0;i<=txtSenha.getPassword().length-1;i++){
					newSenha += txtSenha.getPassword()[i];
				}
				
				for(int i=0;i<=txtConfirmarSenha.getPassword().length-1;i++){
					confirmarNewSenha += txtConfirmarSenha.getPassword()[i];
				}
				
				String newEmail = txtEmail.getText();
				String newNome = txtNome.getText();
				String newTelefone = txtTelefone.getText();
				String newRua = txtRua.getText();
				String newNumero = txtNumero.getText();
				String newBairro = txtBairro.getText();
				String newCidade = txtCidade.getText();
				
				if(validar.validarString(newNome)){
					
					if(validar.validarString(newSenha)){
						
						if(validar.validarSenha(newSenha, confirmarNewSenha)){
							
							if(validar.validarString(newTelefone)){
								
								if(validar.validarTelefone(newTelefone)){
									
									if(validar.validarString(newRua)){
										
										if(validar.validarString(newNumero)){
											
											if(validar.validarString(newBairro)){
												
												if(validar.validarString(newCidade)){
													
													if(validar.validarEmail(newEmail)){
													
														TelaCadastrarGerente.cdf.recuperarFuncionario(login).setRua(newRua);
														TelaCadastrarGerente.cdf.recuperarFuncionario(login).setNumero(newNumero);
														TelaCadastrarGerente.cdf.recuperarFuncionario(login).setBairro(newBairro);
														TelaCadastrarGerente.cdf.recuperarFuncionario(login).setCidade(newCidade);
														TelaCadastrarGerente.cdf.recuperarFuncionario(login).setTelefoneCelular(newTelefone);
														TelaCadastrarGerente.cdf.recuperarFuncionario(login).setNome(newNome);
														TelaCadastrarGerente.cdf.recuperarFuncionario(login).setSenha(newSenha);
														TelaCadastrarGerente.cdf.recuperarFuncionario(login).setEmail(newEmail);
														JOptionPane.showMessageDialog(null, "Informa��es do dono alteradas com sucesso");
														dispose();
													
													}else{
														JOptionPane.showMessageDialog(null, "O campo e-mail n�o foi preencido ou n�o � v�lido Obs.: O programa s� aceita hotmail e gmail");
													}
													
												}else{
													JOptionPane.showMessageDialog(null, "Nenhum campo pode ficar vazio");
												}
												
											}else{
												JOptionPane.showMessageDialog(null, "Nenhum campo pode fica vazio");
									
											}
											
										}else{
											JOptionPane.showMessageDialog(null, "Nenhum campo pode ficar vazio");
										}
										
									}else{
										JOptionPane.showMessageDialog(null, "Nenhum campo pode ficar vazio");
									}
									
								}else{
									JOptionPane.showMessageDialog(null, "O telefone n�o existe");
								}
								
							}else{
								JOptionPane.showMessageDialog(null, "Nenhum campo pode ficar vazio");
							}
						
						}else{
							JOptionPane.showMessageDialog(null, "As senhas n�o correspondem");
						}
					}else{
						JOptionPane.showMessageDialog(null,"Nenhum campo pode ficar vazio");
					}
					
				}else{
					JOptionPane.showMessageDialog(null, "Nenhum campo pode ficar vazio");
				}
				
				
			}
		});
		
		
	}
	
	
	
}
